public class SwapNodesPairs {
    public ListNode swapPairs(ListNode head) {
        if(head == null || head.next == null) {
            // 第一个条件预防初始 head 就是空的情况
            // 第二个条件, 如果链表只剩下一个节点, 那么就不用交换了
            return head;
        }

        ListNode cur = swapPairs(head.next.next);
        ListNode node = head.next;
        head.next.next = head;
        head.next = cur;

        return node;
    }
}
